Method For Controlling An Operating Mechanism And A Manipulation Unit

ABSTRACT

A method for controlling an operating mechanism using a manipulation unit, in which the operating mechanism includes at least one microcontroller, at least one memory with a plurality of memory cells and at least one first value in a first memory cell and at least one debug interface, and the debug interface exhibits a monitoring functionality for monitoring a program code executed by the operating mechanism and using the debug interface a first pre-set timepoint is detected when processing the program code and, using the information transmitted by the debug interface for the first timepoint to the manipulation unit, a trigger timepoint results for a processing routine through the manipulation unit (IN) and a second value is written using the debug interface by the manipulation unit using the processing routine for a second timepoint in the first memory cell before the first memory cell is read by the operating mechanism for a third timepoint.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority to and is a continuation-in-part ofU.S. patent application Ser. No. 12/475,934 filed Jun. 1, 2009, thatclaims priority to German Application No. DE 102009006517.2 filed Jan.28, 2009 that are incorporated by reference as though fully set forthherein.

FIELD

The present invention relates generally to control systems. Inparticular, the present method is directed to controlling an operatingmechanism and a manipulation unit.

BACKGROUND

One method of controlling an operating mechanism is known from DE 102004 027 033 A1. Here, a control device in application of an operatingmechanism/debug interface and a memory built into the control device,stores data from the operating mechanism in the memory of the controldevice and upon using the operating mechanism/debug interface further,data are also reflected back into the memory of the operating mechanism.In one embodiment, the data are received in the control device of acoordinating unit and provided for a temporal arrangement using a timestamp. Furthermore, the coordinating unit has connections available forinternal and external triggering signals by which it is possible toactivate corresponding subunits in the control device and in particularto start a bypass routine.

Also from DE 10 2006 062 555 A1, a method is known for monitoring anoperating mechanism, in which a control device for monitoring anoperating mechanism includes at least one microcontroller, at least onememory, and at least one debug interface. With the debug interface, theso-called trace functionality exhibits that it is possible to monitorthe addresses to be observed.

From the previous method, it appears that manipulation of the operatingmechanism functions is time-intensive and is often performed using aso-called external bypass routine. Here, in executing the program, aninterrupt processing is solicited with an external manipulation deviceusing the operating mechanism's program of permanently pre-set servicecalls by the operating mechanism using externally defined triggerpulses. Within the framework of the interrupt processing, the valuesadditionally needed for calculation are sent to the manipulation device.After calculation in the manipulation device, the altered quantities aresent back to the operating mechanism. While the service calls arepermanently linked in the program code of the operating mechanism, asubsequent change in service-call points is very expensive and can onlybe performed by each operating-mechanism manufacturer at great expense,because, for example, the operating-mechanism program already existinghas to be transmitted again. Furthermore, using the service-call points,the size of the memory needed is increased and the processing speed ofthe operating-mechanism program is affected detrimentally.

SUMMARY

A method for controlling an operating mechanism using a manipulationunit, in which the operating mechanism includes at least onemicrocontroller, at least one memory with a plurality of memory cellsand at least one first value in a first memory cell and at least onedebug interface, and the debug interface exhibits a monitoringfunctionality for monitoring a program code executed by the operatingmechanism and using the debug interface a first pre-set timepoint isdetected when processing the program code and, using the informationtransmitted by the debug interface for the first timepoint to themanipulation unit, a trigger timepoint results for a processing routinethrough the manipulation unit (IN) and a second value is written usingthe debug interface by the manipulation unit using the processingroutine for a second timepoint in the first memory cell before the firstmemory cell is read by the operating mechanism for a third timepoint.

BRIEF DESCRIPTION OF THE DRAWINGS

The method according to the invention will be explained next using theembodiment examples in connection with the schematic drawings. Identicalfunctions in the drawing data are provided with the identical referencedesignations. Shown are

FIG. 1 a schematic representation of a manipulation unit connected to anoperating mechanism, according to one embodiment.

FIG. 2 a schematic representation of a time sequence for a change indata within the operating mechanism using the manipulation unit,according to one embodiment.

FIG. 3 a schematic representation of a manipulation unit connected to anoperating mechanism with a remote control unit attached, according toone embodiment.

FIG. 4 a schematic representation of a time sequence for a change indata upon making the second value available using a remote controldevice before the first value is read, according to one embodiment.

FIG. 5 a schematic representation of a time sequence for a change indata using the manipulation unit, according to one embodiment.

DETAILED DESCRIPTION

A method for controlling an operating mechanism using a manipulationunit, in which the operating mechanism includes at least onemicrocontroller, at least one memory with a plurality of memory cellsand at least one first value in a first memory cell, and at least onedebug interface, and the debug interface exhibits a monitoringfunctionality for monitoring a program code executed by the operatingmechanism and, using the debug interface, a first pre-set timepoint isdetected when executing the program code and, using the informationtransmitted by the debug interface for the first timepoint to themanipulation unit, a trigger timepoint results for a processing routinethrough the manipulation unit, and using the processing routine a secondvalue is written by the manipulation unit using the debug interface fora second timepoint in the first memory cell in the first memory beforethe first memory cell of the first memory is read by the operatingmechanism for a third timepoint.

According to a second embodiment, a manipulation unit controls anoperating mechanism, in which the operating mechanism exhibits at leastone microcontroller and at least one memory with a plurality of memorycells and with at least one first value (V1X) in a first memory cell andat least one debug interface. Moreover, the debug interface exhibits amonitoring functionality for monitoring a program code executed by theoperating mechanism (ECU) and is set up to detect a first pre-settimepoint when executing the program code and to transmit the associatedfirst value to the manipulation unit, and the manipulation unit is setup to let a processing routine run using the timepoint transmitted andto determine a second value using the processing routine and, using thedebug interface set up, to write the second value for a second timepointinto the first memory cell of the first memory before the first memorycell of the first memory is read by the operating mechanism.

Using the manipulation unit, independent of the service calls toarbitrary program points and arbitrary timepoints when executing theprogram code by detecting a so-called watchpoint, also called amonitoring point, which also includes writing values into memory cellsof the operating mechanism, in follow-up after detecting the monitoringpoint, values in the memory cells can be altered. By using watchpoints,that occur at pre-set places and thereafter when executing the programcode for one or several pre-set timepoints, the method is flexible andcan, particularly without knowing the respective source codes of theoperating-mechanism program, be used for a great number of operatingmechanisms from different manufacturers. Furthermore, no adjustments tothe operating-mechanism program are needed. Because the correspondingservice calls with the associated parts of the program are not necessarywith the operating mechanism's program, a detrimental effect on programexecution and memory consumption can be avoided.

In one embodiment, the manipulation unit tests and monitors whether thesecond timepoint lies ahead of the third timepoint or behind it andwhether a pre-set value is issued, depending on the test result. It ishereby possible to detect the result of an effect, that is, a timelyoverwrite of memory cells, and to communicate to the user. Themonitoring and the task using a service program, which is implemented inthe manipulation unit, are performed in an advantageous manner.

In a further embodiment, the operating mechanism determines the timeperiod needed by the operating mechanism to write the first value intothe first memory cell of the first memory and to read the first memorycell in the first memory. According to one embodiment, an analysis ofthe program code for the operating mechanism determines the time periodfor read-write access to a specific memory cell. Here, for instance, aprogram code executed by a microcontroller trace in the operatingmechanism is analyzed. Preferably, the analysis of the program code isdone without using the operating mechanism, in which the analysis isdone on an external device, in particular a PC. Determining the relevanttimepoints preferably occurs by a sequential evaluation of therespective command, the so-called instruction code. With the help of atypical execution time for each command, which can be determined on thebasis of processor type and timing frequency used, the minimum timeperiod between each read-write access is extracted. Determining the timeperiod can also be done in advance, independently of the execution ofthe operating-mechanism program under actual conditions, such as isgiven, for example, for an as-installed condition in a vehicle.Herewith, the risk of error functions as a result of an erroneousoverwrite can be reduced, in which the time periods of all occurringread-write accesses are tested and checked as to the extent to which theexecution time of the manipulation unit is sufficient to overwrite therespective values from the manipulation unit into the memory cellsconcerned. Provided that the operating mechanism is not installed, acheck can also be done using a virtual test environment or a simulator,that is, data comparable to actual conditions are made available to theoperating mechanism at its interface.

According one embodiment, reading the first memory cell and/or a furthermemory cell with a watchpoint is combined, using the monitoringfunctionality of the debug interface when executing the program code inthe operating mechanism, the occurrence of the watchpoint is interpretedas a first timepoint or as a trigger timepoint for the processingroutine.

According to another embodiment, the time period needed by the operatingmechanism is determined by the manipulation unit using the monitoringfunctionality of the debug interface. In another embodiment, determiningthe timepoints can be done quasi-online, that is, in the actualoperation of the operating mechanism, and it can be decided after that,during the operation of the operating mechanism in real time, whichmemory cell of the first memory is to be written to with a second valueby the manipulation unit.

According to another embodiment, the controllable memory cells of theoperating mechanism can be issued by the manipulation unit using aservice program, using the size of the time interval for read-writeaccess occurring in the operating mechanism. Thus, the user gets theopportunity to define, preferably in advance, memory cells which areentirely defined as targeted, that is, those suitable for control.

In one embodiment, the second value for a fourth timepoint is writteninto a first memory cell of a second memory and the second value is readby the manipulation unit using the processing routine from the firstmemory cell of the second memory. The second memory has a plurality ofmemory cells and can be set up in both the operating mechanism and themanipulation unit. Furthermore, the first memory cell of the secondmemory is written using a remote control device, according to oneembodiment. In order to ensure that the second value is written into thefirst memory before the first memory cell of the first memory is read bythe operating mechanism for a third timepoint, the fourth timepoint isahead of the second timepoint. Herewith the second value of themanipulation routine is made available before the timepoint at which thesecond value is written into the first memory cell of the first memoryusing the manipulation routine.

For an especially time-critical task to be executed in the operatingmechanism, the second value be made available in the first memory cellof the second memory for a fourth timepoint, in which the fourthtimepoint is ahead of the first timepoint. A delay can thereby beavoided in processing commands, because even before the first write inthe first memory cell of the first memory, the second value is alreadyavailable for a subsequent overwrite of the first value.

According to an alternative embodiment, the second value is written,using a remote control device, that is, using a so-called RCP device,into the first memory cell of the second memory. Particularly if thecomplexity of the manipulation unit is kept low, expensive calculationsand input can preferably be dealt with by using a verycalculation-robust remote control device. Hereby, the second memory canbe constructed in both the manipulation unit and in the remote controldevice. In the first alternative, the second memory is written to,preferably using the remote control device.

According to the illustration in FIG. 1, a manipulation unit IN ishooked up using a data line 10 to an operating mechanism ECU.Furthermore, the operating mechanism ECU exhibits a microcontroller PCwith a debug interface TRDE which involves a monitoring functionality(trace functionality). The microcontroller PC and the debug interfaceTRDE, which is preferably executed as an integral component of themicrocontroller, are connected using a data line 20 to a memory SP1. Thememory is executed as a component of the microcontroller. Differentservice programs and in particular a processing routine (not depicted)are generally implemented within the manipulation unit IN.

In the illustration in FIG. 2, a detailed time sequence is depicted asan embodiment for memory-cell control using the collaboration of themanipulation unit IN with the debug interface TRDE of the operatingmechanism ECU from FIG. 1. Here, the time sequence is illustrated by atime axis t for the step depicted. A first task TA1 is executed withinthe operating mechanism ECU using the operating-mechanism program and,within the framework of executing the first task TA1, a first value V1Xis written for a first timepoint t1 into a first memory cell of thememory SP1. The fact of writing the first value V1X to the firsttimepoint t1 is transmitted, together with the value V1X, to themanipulation unit IN using the debug interface TRDE. In the manipulationdevice IN, the information transmitted defines a trigger timepoint usingwhich a processing routine RU1 is started and executed. A second valueV1Y is written by the manipulation unit IN, using the processing routineRU1 and using the debug interface TRDE, to a second timepoint t2 in thememory cell of the first memory SP1 before the first memory cell is readby the operating mechanism ECU while the execution of a second task TA2is read for a third timepoint t3.

In one embodiment, instead of writing a first value to the first memorycell, the first timepoint and a so-called watchpoint can be combined,especially also with reading the first memory cell and/or a furthermemory cell. The trigger point for the processing routine is herebydefined only by reading from one or several memory cells.

In the illustration in FIG. 3, a remote control device RCP isconstructed in addition to the manipulation unit IN previously mentionedfrom FIG. 1. In the following, only the differences are presented forthe executions explained in connection with the drawing data in FIG. 1.The remote control device RCP is hooked up using a data link 30 to themanipulation unit IN. In the manipulation unit IN, the processingroutine RU1 is depicted as a box. The processing routine RU1 isconnected to a second memory SP2 with a plurality of memory cells usingline 40. Furthermore, the remote control device RCP exhibits a controlroutine CO, which is also drawn as a box.

Using the control routine CO and using the manipulation unit IN, asecond value V1Y is written into the first memory cell of the secondmemory SP2. The second value V1Y can be subsequently read out using theprocessing routine RU1 through the line 40 from the second memory SP2and filed over the data line 10 in the first memory SP1.

In FIG. 4, a first embodiment is depicted for a possible time sequenceof operations in the memory area. In the following, only the differencesare presented in connection with the drawing data from FIG. 2 and inconnection with the executions explained from FIG. 3. In the remotecontrol device RCP, the second value V1Y is filed in the second memorySP2 for a fourth timepoint T4 using the control routine CO. Here, thefourth timepoint T4 is still ahead of the first timepoint T1. Anadvantage of the sequence is that with very fast read-write access tothe first memory SP1, if the second value V1Y is detected even beforethe timepoint T1 at which the write access in the first memory SP1 isdetected by the debug interface TRDE, the second value V1Y is ready forwriting into the first memory SP1. Thus, no delay results when executingthe tasks TA1 and TA2 to be processed using the operating mechanism.

In FIG. 5, a further embodiment is depicted for a possible time sequenceof operations in the memory area. In the following, only the differencesare presented for the executions explained in connection with thedrawing data for FIG. 4. In the remote control device RCP, the secondvalue V1Y is filed in the second memory SP2 for a fourth timepoint T4using the control routine CO. Here, the fourth timepoint T4 comes afterthe first timepoint T1 but ahead of the timepoint T2. An advantage ofthe embodiment is that with the second value V1Y as a function of thefirst value V1X, the first value V1X is made available by the processingroutine RU1 of the remote control unit RCP in order to preferably make acalculation in the remote control device RCP. In particular, if theremote control device RCP is provided with a essentially increasedcomputation performance compared to the manipulation unit IN and/or theoperating mechanism ECU, complex algorithms can also be processed usingthe remote control device RCP and the second value V1Y can be calculatedmore quickly than when the second value V1Y is computed in themanipulation unit IN or by the operating mechanism ECU. In the timebetween triggering the control routine CO using the processing routineRU1 and the second value V1Y being made available, the execution of theprocessing routine RU1 can be interrupted or placed in standby until, atthe latest, the timepoint T2 passes, at which the second value V1Y isfiled in the first memory SP1.

Detection of the writing of a first value for a first timepoint (t1) isthen filed as a watchpoint or as a trigger point for triggering theprocessing routine in the manipulation unit IN, according to oneembodiment. In the program code of the operating mechanism (ECU),watchpoints can be compatible at several different places in the programcode that are in particular independent of writing a first value of afirst memory and they can be combined, in distinction from thepreviously mentioned embodiment with completely different results orplaces in the program code as a description of a memory cell. As awhole, in general, a current pre-determined routine triggered in themanipulation unit IN can be detected by the debug interface TRDE withwatchpoints.

1. A method for controlling an operating mechanism (ECU) by means of a manipulation unit (IN), in which the operating mechanism (ECU) includes at least one microcontroller (PC), at least one memory (SP1) with a plurality of memory cells and at least one first value (V1X) in a first memory cell and at least one debug interface (TRDE), and the debug interface (TRDE) exhibits a monitoring functionality for monitoring a program code executed by the operating mechanism (ECU); characterized by the fact that using the debug interface (TRDE), a first pre-set timepoint (t1) is detected when processing the program code and, using the information transmitted by the debug interface (TRDE) for the first timepoint (t1) to the manipulation unit (IN), a trigger timepoint results for a processing routine (RU1) and using the processing routine (RU1), a second value (V1Y) is written by the manipulation unit (IN) using the debug interface (TRDE) to a second timepoint (t2) in the first memory cell of the first memory (SP1) before the first memory cell of the first memory (SP1) is read by the operating mechanism (ECU) for a third timepoint (t3).
 1. A computer-implemented method comprising: controlling an operating mechanism using a manipulation unit in which the operating mechanism includes at least one microcontroller, at least one memory with a plurality of memory cells, at least one first value in a first memory cell and at least one debug interface, and the debug interface exhibits a monitoring functionality for monitoring a program code executed by the operating mechanism; detecting a first timepoint when processing the program code; using information transmitted by the debug interface for the first timepoint to the manipulation unit, wherein a trigger timepoint results for a processing routine; and writing a second value by the manipulation unit using the debug interface to a second timepoint in the first memory cell of the first memory before the first memory cell of the first memory is read by the operating mechanism for a third timepoint.
 2. The computer-implemented method according to claim 1, testing the manipulation unit to determine whether the second timepoint is ahead of the third timepoint and a pre-set value is issued depending on results of the testing.
 3. The computer-implemented method according to claim 1, determining by the operating mechanism, a time period for the operating mechanism to write a first value into a first memory cell and to read the first memory cell.
 4. The computer-implemented method according to claim 3, wherein determining the time period comprises analyzing the program code for the operating mechanism.
 5. The computer-implemented method according to claim 4, wherein analyzing the program code is done without using the operating mechanism.
 6. The computer-implemented method according to claim 3, determining by the manipulation unit using the monitoring functionality of the debug interface, the time period needed by the operating mechanism.
 7. The computer-implemented method according to claim 3, further comprising issuing by the manipulation unit using the size of the time intervals of the read-write access occurring in the operating mechanism, the memory cells of the operating mechanism.
 8. The computer-implemented method according to claim 1, writing the second value into a first memory cell of a second memory for a fourth timepoint; and reading the second value by the manipulation unit using the processing routine out of the first memory cell of the second memory.
 9. The computer-implemented method according to claim 8, wherein the fourth timepoint is ahead of the second timepoint.
 10. The computer-implemented method according to claim 8 wherein the fourth timepoint is ahead of the first timepoint.
 11. The computer-implemented method according to claim 8, further comprising writing using a remote control device, the second value is into the first memory cell of the second memory.
 12. The computer-implemented method according to claim 4, further comprising issuing by the manipulation unit using the size of the time intervals of the read-write access occurring in the operating mechanism, the memory cells of the operating mechanism.
 13. The computer-implemented method according to claim 5, further comprising issuing by the manipulation unit using the size of the time intervals of the read-write access occurring in the operating mechanism, the memory cells of the operating mechanism.
 14. The computer-implemented method according to claim 6, further comprising issuing by the manipulation unit using the size of the time intervals of the read-write access occurring in the operating mechanism, the memory cells of the operating mechanism.
 15. The computer-implemented method according to claim 2, further comprising writing the second value into a first memory cell of a second memory for a fourth timepoint; and reading the second value by the manipulation unit using the processing routine out of the first memory cell of the second memory.
 16. The computer-implemented method according to claim 3, further comprising writing the second value into a first memory cell of a second memory for a fourth timepoint; and reading the second value by the manipulation unit using the processing routine out of the first memory cell of the second memory.
 17. The computer-implemented method according to claim 4, further comprising writing the second value into a first memory cell of a second memory for a fourth timepoint; and reading the second value by the manipulation unit using the processing routine out of the first memory cell of the second memory.
 18. The computer-implemented method according to claim 5, further comprising writing the second value into a first memory cell of a second memory for a fourth timepoint; and reading the second value by the manipulation unit using the processing routine out of the first memory cell of the second memory.
 19. The computer-implemented method according to claim 6, further comprising further comprising writing the second value into a first memory cell of a second memory for a fourth timepoint; and reading the second value by the manipulation unit using the processing routine out of the first memory cell of the second memory.
 20. The computer-implemented method according to claim 7, further comprising writing the second value into a first memory cell of a second memory for a fourth timepoint; and reading the second value by the manipulation unit using the processing routine out of the first memory cell of the second memory.
 21. A system, comprising: an operating mechanism including at least one microcontroller, at least one memory with at least one first value in a first memory cell, at least one debug interface, wherein the debug interface exhibits a monitoring functionality for monitoring a program code executed by the operating mechanism, wherein the debug interface detects a first timepoint when processing the program code; and a manipulation unit, wherein the manipulation unit runs a processing routine using the timepoint transmitted and determines a second value using the processing routine; and wherein the debug interface writes the second value for a second timepoint in the first memory cell of the first memory before the first memory cell of the first memory is read by the operating mechanism.
 22. The system according to claim 21, wherein a first memory cell of a second memory receives the second value.
 23. The system according to claim 22, further comprising a remote control device writes the first memory call of a second memory. 